#ifndef MATRIX_H
#define MATRIX_H

class Matrix
{
private:
	double * matrix;
	int x,y;
	bool test(){return 1;};

public:
	Matrix(int,int);//dimension, set 0's
	~Matrix();
	void setMatrix(int,int);//set 0's
	void setMatrix(int,int,double);//set specific position with 2D array coordinates
	void setMatrix(int,double);//set specific position with 1D array coordinate
	void setMatrix(double[]);//set with array
	void setMatri3X3(double,double,double,double,double,double,double,double,double);
	int getX(){return x;};
	int getY(){return y;};
	double getValue(int m,int n){return matrix[m*x+n];};//set specific position with 2D array coordinates
	double getValue(int m){return matrix[m];};//set specific position with 1D array coordinates
	//double *getMatrix();
	bool getSameDim(Matrix);
	Matrix getSum(Matrix &);
	Matrix getDiff(Matrix &);
	Matrix getProdScalar(double);
	Matrix getProdMatrix(Matrix &);
	Matrix getTranspose();
};

#endif